home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3dm / dmedia / dmMPEG1AudioDecode.z / dmMPEG1AudioDecode
Encoding:
Text File  |  1998-10-20  |  8.7 KB  |  133 lines

  1.  
  2.  
  3.  
  4. ddddmmmmMMMMPPPPEEEEGGGG1111AAAAuuuuddddiiiiooooDDDDeeeeccccooooddddeeee((((3333ddddmmmm))))                                ddddmmmmMMMMPPPPEEEEGGGG1111AAAAuuuuddddiiiiooooDDDDeeeeccccooooddddeeee((((3333ddddmmmm))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      dmMPEG1AudioDecode - decodes a single compressed block of data created by
  10.      a call to ddddmmmmMMMMPPPPEEEEGGGG1111AAAAuuuuddddiiiiooooEEEEnnnnccccooooddddeeee((((3333ddddmmmm)))).
  11.  
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////ddddmmmmeeeeddddiiiiaaaa....hhhh>>>>
  15.      ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////ddddmmmm____aaaauuuuddddiiiioooouuuuttttiiiillll....hhhh>>>>
  16.  
  17.      DDDDMMMMssssttttaaaattttuuuussss ddddmmmmMMMMPPPPEEEEGGGG1111AAAAuuuuddddiiiiooooDDDDeeeeccccooooddddeeee((((DDDDMMMMMMMMPPPPEEEEGGGG1111aaaauuuuddddiiiiooooddddeeeeccccooooddddeeeerrrr ddddeeeeccccooooddddeeeerrrr,,,,
  18.                                          uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr ****ccccmmmmppppDDDDaaaattttaaaa,,,,
  19.                                          sssshhhhoooorrrrtttt ****oooouuuuttttppppuuuutttt,,,,
  20.                                          iiiinnnntttt ****ffffmmmmttttBBBByyyytttteeeessss))))
  21.  
  22.  
  23. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRR
  24.      _d_e_c_o_d_e_r   DDDDMMMMMMMMPPPPEEEEGGGG1111aaaauuuuddddiiiiooooddddeeeeccccooooddddeeeerrrr structure, created by
  25.                ddddmmmmMMMMPPPPEEEEGGGG1111AAAAuuuuddddiiiiooooDDDDeeeeccccooooddddeeeerrrrCCCCrrrreeeeaaaatttteeee((((3333ddddmmmm)))), specifies and stores the signal
  26.                processing parameters.  It describes the kind of decompression
  27.                to perform, and holds the between-block state of the
  28.                decompressor.  It is initially generated and processed by calls
  29.                to ddddmmmmMMMMPPPPEEEEGGGG1111AAAAuuuuddddiiiiooooDDDDeeeeccccooooddddeeeerrrrCCCCrrrreeeeaaaatttteeee((((3333ddddmmmm)))) and
  30.                ddddmmmmMMMMPPPPEEEEGGGG1111AAAAuuuuddddiiiiooooDDDDeeeeccccooooddddeeeerrrrSSSSeeeettttPPPPaaaarrrraaaammmmssss((((3333ddddmmmm)))), and is modified on each
  31.                call.  To get decoder in the proper state for the first call,
  32.                see DESCRIPTION below.
  33.  
  34.  
  35.      _c_m_p_D_a_t_a   points to the next block of compressed bytes to be decoded.
  36.                The calling procedure should pass an entire compressed block's
  37.                worth of bytes.  Generally, this amount is unkown and the
  38.                calling procedure must queue up at least as many bytes as
  39.                returned from a call to ddddmmmmMMMMPPPPEEEEGGGG1111AAAAuuuuddddiiiiooooHHHHeeeeaaaaddddeeeerrrrGGGGeeeettttBBBBlllloooocccckkkkBBBByyyytttteeeessss((((3333ddddmmmm)))) as
  40.                that is the expected length that ddddmmmmMMMMPPPPEEEEGGGG1111AAAAuuuuddddiiiiooooDDDDeeeeccccooooddddeeee((((3333ddddmmmm)))) will
  41.                require.
  42.  
  43.  
  44.      _o_u_t_p_u_t    points to a pre-allocated block of memory into which
  45.                ddddmmmmMMMMPPPPEEEEGGGG1111AAAAuuuuddddiiiiooooDDDDeeeeccccooooddddeeee((((3333ddddmmmm)))) will write the decompressed sample
  46.                frames. output must be big enough to hold the entire
  47.                decompressed frame.  Note that all decompressed blocks contain
  48.                the same number of sample frames.  A way to determine this size
  49.                is described below under DESCRIPTION.
  50.  
  51.  
  52.      _f_m_t_B_y_t_e_s  pointer to an integer return value; indicates the actual number
  53.                of compressed bytes consumed. By advancing the index in the
  54.                compressed data stream by this amount, the next block of
  55.                compressed data will be located correctly. If the decoder
  56.                structure or the compressed data is malformed, this return will
  57.                be zero, indicating an error.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ddddmmmmMMMMPPPPEEEEGGGG1111AAAAuuuuddddiiiiooooDDDDeeeeccccooooddddeeee((((3333ddddmmmm))))                                ddddmmmmMMMMPPPPEEEEGGGG1111AAAAuuuuddddiiiiooooDDDDeeeeccccooooddddeeee((((3333ddddmmmm))))
  71.  
  72.  
  73.  
  74. RRRREEEETTTTUUUURRRRNNNNEEEEDDDD VVVVAAAALLLLUUUUEEEE
  75.      Returns DDDDMMMM____FFFFAAAAIIIILLLLUUUURRRREEEE or DDDDMMMM____SSSSUUUUCCCCCCCCEEEESSSSSSSS.
  76.  
  77.  
  78. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  79.      ddddmmmmMMMMPPPPEEEEGGGG1111AAAAuuuuddddiiiiooooDDDDeeeeccccooooddddeeee((((3333ddddmmmm)))) implements MPEG1 audio decompression.
  80.  
  81.      The decoder state parameters need to be initialized before the first call
  82.      to ddddmmmmMMMMPPPPEEEEGGGG1111AAAAuuuuddddiiiiooooDDDDeeeeccccooooddddeeee((((3333ddddmmmm)))), after which it is self-maintaining. DMparam
  83.      *params should be passed to ddddmmmmMMMMPPPPEEEEGGGG1111AAAAuuuuddddiiiiooooHHHHeeeeaaaaddddeeeerrrrGGGGeeeettttPPPPaaaarrrraaaammmmssss in order to fill
  84.      in the params structure from the compressed data header, and find the
  85.      worst-case buffering requirements for the compressed data.  Then, a call
  86.      to ddddmmmmMMMMPPPPEEEEGGGG1111AAAAuuuuddddiiiiooooDDDDeeeeccccooooddddeeeerrrrSSSSeeeettttPPPPaaaarrrraaaammmmssss((((3333ddddmmmm)))) will set decoding parameter values
  87.      for decoder.  And ddddmmmmMMMMPPPPEEEEGGGG1111AAAAuuuuddddiiiiooooDDDDeeeeccccooooddddeeeerrrrGGGGeeeettttPPPPaaaarrrraaaammmmssss((((3333ddddmmmm)))) will be used to qurey
  88.      DDDDMMMM____AAAAUUUUDDDDIIIIOOOO____CCCCOOOODDDDEEEECCCC____FFFFRRRRAAAAMMMMEEEESSSS____PPPPEEEERRRR____BBBBLLLLOOOOCCCCKKKK, which contains the size of decompressed
  89.      blocks for the compressed stream.
  90.  
  91.  
  92. NNNNOOOOTTTTEEEE
  93.      compression/decompression delay will be caused by filter operations that
  94.      convolve a N past input samples with a filter M-coefficient array to
  95.      create N+M-1 output samples.  The filtered signal contains more samples
  96.      than the unfiltered signal. the output signal is offset by
  97.      DDDDMMMM____AAAAUUUUDDDDIIIIOOOO____CCCCOOOODDDDEEEECCCC____FFFFIIIILLLLTTTTEEEERRRR____DDDDEEEELLLLAAAAYYYY samples from the first sample thus omits the
  98.      last DDDDMMMM____AAAAUUUUDDDDIIIIOOOO____CCCCOOOODDDDEEEECCCC____FFFFIIIILLLLTTTTEEEERRRR____DDDDEEEELLLLAAAAYYYY samples from the output file.
  99.  
  100.  
  101. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  102.      dmMPEG1AudioDecoderCreate(3dm), dmMPEG1AudioDecoderSetParams(3dm),
  103.      dmMPEG1AudioDecoderGetParams(3dm), dmMPEG1AudioDecoderDestroy(3dm),
  104.      dmMPEG1AudioEncode(3dm).
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.